Page({
  data: {
    numbers: [], // 绑定界面的numbers变量
    buttonText: '开始',
    isGenerating: false,
    intervalId: null, // 用于保存定时器的ID
  },

  onLoad: function() {
    // 页面加载时可以初始化一次随机数
    this.toggleGenerate();
  },

  toggleGenerate: function() {
    const { isGenerating, intervalId } = this.data;
    if (isGenerating) {
      // 如果正在生成数字，停止生成
      this.setData({ buttonText: '开始' });
      this.data.isGenerating = false;
      clearInterval(intervalId); // 清除定时器
    } else {
      // 如果没有生成数字，开始生成
      this.setData({ buttonText: '暂停' });
      this.data.isGenerating = true;
      this.generateNumbers(); // 立即生成一组随机数
      this.data.intervalId = setInterval(this.generateNumbers.bind(this), 100);
    }
  },

  generateNumbers: function() {
    // 清空旧的数字数据
    let numbers = [];
    // 生成1到35的5个随机数
    const numbers1to35 = this.generateRandomNumbers(1, 35, 5);
    // 生成1到12的2个随机数
    const numbers1to12 = this.generateRandomNumbers(1, 12, 2);
    // 合并两组数字
    numbers = [...numbers1to35, ...numbers1to12];
    // 更新numbers数组
    this.setData({ numbers });
  },

  generateRandomNumbers: function(min, max, count) {
    const numbersSet = new Set();
    while (numbersSet.size < count) {
      const randomNumber = Math.floor(Math.random() * (max - min + 1)) + min;
      numbersSet.add(randomNumber);
    }
    return Array.from(numbersSet);
  },

  onUnload: function() {
    // 页面卸载时清除定时器
    if (this.data.intervalId) {
      clearInterval(this.data.intervalId);
    }
  },
});